1. Field of the Invention
One or more embodiments of the disclosure's system and method are related to the field of automated software testing, particularly as applied to computerized enterprise management systems based upon master data management methodology. More particularly, but not by way of limitation, one or more embodiments of the disclosure's system and method enable a system to plan, execute, store and query automatic tests.
2. Description of the Related Art
Master Data Management Methods:
Large corporations and other large organizations are often highly complex entities, frequently carrying out a variety of different business and organizational processes from different departments or divisions (e.g. sales, marketing, customer service, finance, human relations, material purchasing, operations, and the like). These various departments and divisions are often separated by large distances, and often staffed by individuals with very different skill sets, and often served by different computer systems. As computerized methods of managing organizations have developed, a problem that has frequently occurred is that the same customer, same part, or same supplier will often be referred to by different departments under different names and identification. For example, consider a situation where shipping sends a package of inventory number “ABC” to “Bill Smith” at “121 First St. in Chicago, Ill.”, and saves it in a shipping computer database. Two weeks later, a man named “William Smith” from “121 1st street from Chicago Ill.” calls customer service with a complaint about his “defective television,” and this is registered in the customer service computer database. It may be very difficult for a centralized computer system, polling the shipping and customer service databases, to reconcile the two sets of entries. These difficulties can result in lost efficiency and organizational dysfunction, with potentially severe consequences.
As a result of these problems, the concept of “Master Data Management (MDM),” developed by SAP AG, and other organizations, has become popular. The Master Data Management concept is that every persistent (i.e. persisting for a period of time greater than a single transaction, and often persisting for appreciable periods of time such as months or years) unit of interest, be it a customer, vendor, part, process or other entity, should have its own unique “master” identification that is uniform throughout the organization. Such Master Data Management (MDM) based computer systems are discussed in Kalthoff et. al., U.S. Pat. No. 7,236,973, the contents of which are incorporated herein by reference.
To generate master data, data from different databases must be matched up, redundant or inaccurate records cleansed, and overlapping and valid records be given a common identification and format. The resulting cleaned-up and curated “master data” is then stored in an MDM database.
This MDM database can then be made available to the various computer enterprise management systems that run on various computer “clients” or “hosts” throughout the organization. Thus, for example, a first host running “shipping database” type business logic software in the shipping department client or host computer can use the MDM database entry for William Smith to indicate that the shipping transaction for television unit ABC has been shipped. A second computer client or host running “customer complaint” business logic software in the customer compliant department can consult the MDM database, and correctly determine that the “William Smith” that was previously shipped television unit “ABC” is now wishing to enter in a complaint about that particular unit.
The MDM “master record” concept is simple, but extremely powerful. As an example of how it can facilitate business efficiency, consider a third host computer in the quality assurance department, running software with “manufacturing defects tracking” business logic. A quality assurance expert can, thanks to the MDM “master data” database, examine data from computer hosts one and two, and see that “William Smith” complained about the “ABC” television unit exactly two weeks after the ABC television unit was shipped.
The quality assurance expert can then run queries on his third host computer, examine the history of customer complaints regarding the “ABC” television unit, and see a similar pattern of failures occurring about two weeks after shipment. Here the quality assistance expert may be further assisted by additional reports presentation software, running on the third host, which drills through the data, and presents the data to the expert via a suitable graphical user interface (GUI). For example, the reports software running on the third host might draw histograms showing that these complaint problems cropped up with the “ABC” unit starting a month earlier, and that many “ABC” television units are breaking about two weeks after shipment. The expert might in turn wonder what happened to the production of ‘ABC” television units a month ago.
Here the quality expert might interrogate a fourth host computer, tied to the operations department that runs “manufacturing materials” and “vendor” business logic. If these databases in turn use the same “master data” concept to enable their data to be easily compared across the organization, then the problem can be easily solved. The quality expert can use the same “ABC” television identification records to access the manufacturing materials database on the fourth host, automatically identify the affected lots, and run a query to determine the vendors that provided the materials for the defective lots. This might find, for example, that all the bad lots correlate with a switch in a capacitor vendor from company “X” to company “Y”, and the quality inspector can quickly take corrective action. By contrast, if the different departments did not use records that were reconciled versus a curated “master record”, this simple process would be slow and difficult, and organizational efficiency would suffer.
As a result, organizations that use MDM master data methods tend to have a large competitive advantage, and such methods have now become widespread. In addition to the previous examples, MDM “master record” databases are often used to store business partner data, customer data, employee data, material data, product data, vendor data and other types of data as well.
Software Testing Methods:
The business logic and report generating software used by the computers running modern corporations and other large enterprises are in an almost constant state of flux. This is because the underlying business processes may be altered on an almost continual basis due to technological developments, changes in government regulations, consultant advice, continuous process improvement, unexpected bottlenecks, corporate mergers, upsizing, downsizing, and the like. Such changes in business processes in turn often require that reports being generated for reading by users, often through graphical user interfaces, must also change. As a result, although potentially any aspect of enterprise computer system software may be subject to change, changes in business logic and reporting-presentation software modules are particularly frequent and such changes are often implemented by changes in the underlying code for these software modules or programs.
As a result, in modern enterprise management computer systems, new software and other support files are being almost continuously generated, often on a daily or weekly basis. Such new software is notoriously prone to unexpected bugs and idiosyncrasies. A change in code in one software module can remain undetected under most data input and output scenarios, but then unexpectedly cause problems when, for one type of extreme data set, the new code interacts with code from a different software module in an unexpected way, causing undesirable results. Thus improved methods for rapid software testing are highly useful. In particular, methods that facilitate automated software testing, particularly on systems that rely upon MDM database methods, are of great practical and commercial interest.